1
Menguasai Alur Kontrol Lanjutan
AI019Lesson 6
00:00

The case ekspresi adalah fondasi dari alur kontrol Elixir. Berbeda dengan pernyataan switch imperatif, case adalah ekspresi fungsional yang mengembalikan hasil dari cabang yang cocok, memungkinkan pengembang untuk membongkar tipe data kompleks seperti peta dan tuple secara instan sekaligus menerapkan logika yang lengkap.

1. Pencocokan Pola & Pengikatan

The case ekspresi memungkinkan Anda menguji suatu nilai terhadap kumpulan pola. Ia menjalankan kode yang terkait dengan pola pertama yang cocok dan mengembalikan nilai dari kode tersebut. Anda dapat mengikat variabel dalam pencocokan untuk digunakan langsung dalam logika cabang.

case dave do
%{state: some_state} = person ->
IO.puts "#{person.name} tinggal di #{some_state}"
end

2. Alur Logika Visual

NilaiPola {:ok, val}Pola {:error, _}Default _

3. Klausa Penjaga & Kelengkapan

Dengan menggunakan when kata kunci, Anda dapat menambahkan pencocokan struktural dengan logika predikat (misalnya, is_number(age) dan age >= 21). Elixir mengharuskan adanya pencocokan untuk setiap masukan potensial; jika tidak ada pola yang cocok, maka akan muncul KesalahanCaseClause dipicu.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>